Search bar with intelligent parametric search statement generation

ABSTRACT

Described is a method for generating a parametric search statement for finding a target document. The parametric search statement is generated in the text boxes of a search bar. A user action is performed in the text box. An in-place context menu having menu items responsive to the user action are displayed near the location of the user action. Each menu item includes at least one of an attribute of the target document, a comparison operator and a value. One of the menu items is selected from the in-place context menu based on a known characteristic of the target document. Parametric search statements are easily generated using the method without the need to access numerous dialogs boxes or to enter significant text.

FIELD OF THE INVENTION

The invention relates generally to the generation of search statementsfor finding documents or files. In particular, the invention relates toa method for generating parametric search statements using in-placecontext menus.

BACKGROUND OF THE INVENTION

Many client applications do not offer a convenient way to quicklyretrieve documents. For example, mail clients (e.g., Lotus Notes(International Business Machines, Armonk, N.Y.) and Microsoft Outlook(Microsoft Corporation, Redmond, Wash.)) do not provide easy access tospecific messages maintained in a mailbox. To organize messages forlater retrieval users often maintain multiple mail folders. Each foldercontains emails that share a common characteristic. For example, afolder can hold messages relating to a specific task or project. Ideallya user seeking to obtain an earlier message knows which folder containsthat message. If the number of folders is low, then there can benumerous messages in each folder. Significant user effort is required tosort through messages in the folder to find the message of interest. Inother situations, users may not remember to which folder they moved themessage. Moreover, user interfaces typically only permit a user to finda raw word in the selected folder or to sort the first column and thenjump to the first of the emails starting with a predetermined prefix.

The user interfaces provided in typical email client applications permittyped input in a search bar that is visible in the main applicationwindow or is otherwise accessible from the main application window.Using this search bar it is generally only possible to search for plaintext in any part (e.g., header or body) of the email document.Parametric searches are generally implemented using complex userinterfaces.

Parametric searches are significantly different than searchesimplemented on the Internet. Web search engines often perform searchesfor information which may not exist. Email message searches, however,are primarily implemented for retrieval. The user knows that the soughtemail message exists and whether the email message was sent or received.Frequently, the user knows the name of the sender or the recipient andthe time period during which the email message was transmitted orreceived. These parameters significantly reduce the quantity of emailsin the search results. Unfortunately, the parameters are not easily andquickly defined in the search statement. If a parametric search isrequired, the user navigates through multiple pop-up boxes to generatethe proper search statement.

What is needed is a method for generating parametric search statementsfor finding and retrieving emails and other documents. The presentinvention satisfies this need and provides additional advantages.

SUMMARY OF THE INVENTION

In one aspect, the invention features a method for generating aparametric search statement in the text box of a search bar for findinga target document. A user action is performed at a location in the textbox of the search bar. An in-place context menu having a plurality ofmenu items responsive to the user action is displayed in a positionproximate to the location of the user action in the search bar. Eachmenu item includes at least one of an attribute of the target document,a comparison operator and a value. One of the search terms is selectedfrom the in-place context menu based on a characteristic of the targetdocument.

In another aspect, the invention features a computer program product forgenerating a parametric search statement for finding a target document.The computer program product includes a computer useable medium havingembodied therein program code. The program code includes program codefor enabling a user to perform a user action at a location in a text boxof a search bar and program code for displaying an in-place context menuhaving a plurality of menu items responsive to the user action. Thein-place context menu is displayed in a position proximate to thelocation of the user action. Each menu item includes at least one of anattribute of the target document, a comparison operator and a value.Also included is program code for enabling a user to select one of themenu items from the in-place context menu based on a characteristic ofthe target document.

In another aspect, the invention features a computer data signalembodied in a carrier wave for generating a parametric search statementfor finding a target document. The computer data signal includes programcode for enabling a user to perform a user action at a location in atext box of a search bar and program code for displaying an in-placecontext menu having a plurality of menu items responsive to the useraction. The in-place context menu is displayed in a position proximateto the location of the user action. Each menu item includes at least oneof an attribute of the target document, a comparison operator and avalue. Also included is program code for enabling a user to select oneof the menu items from the in-place context menu based on acharacteristic of the target document.

In another aspect, the invention features an apparatus for generating aparametric search statement for finding a target document. Theparametric search statement is generated in the text boxes of a searchbar. The apparatus includes means for performing a user action at alocation in the text box of the search bar and means for displaying anin-place context menu having a plurality of menu items responsive to theuser action. The in-place context menu is displayed in a positionproximate to the location of the user action in the search bar. Eachmenu item includes at least one of an attribute of the target document,a comparison operator and a value. The apparatus also includes means forselecting one of the menu items from the in-place context menu based ona characteristic of the target document.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and further advantages of this invention may be betterunderstood by referring to the following description in conjunction withthe accompanying drawings, in which like numerals indicate likestructural elements and features in the various figures. The drawingsare not necessarily to scale, emphasis instead being placed uponillustrating the principles of the invention.

FIG. 1 is a flowchart representation of an embodiment of a method forgenerating a parametric search statement for finding a target documentaccording to the invention.

FIG. 2 is an illustration of a search bar for generating a parametricsearch statement for finding a target document according to anembodiment of the invention.

FIG. 3 is an illustration of the search bar of FIG. 2 with a preliminaryin-place context menu.

FIG. 4 is an illustration of the search bar of FIG. 2 showing a selectedattribute.

FIG. 5 is an illustration of the search bar of FIG. 4 showing anin-place context menu for the selection of a comparison operator.

FIG. 6 is an illustration of the search bar of FIG. 5 showing theselected attribute and a selected comparison operator.

FIG. 7 is an illustration of the search bar of FIG. 6 showing anin-place context menu for the selection of a value.

FIG. 8 is an illustration of the search bar of FIG. 7 showing acompleted search clause.

FIG. 9 is an illustration of the search bar of FIG. 6 showing anin-place context menu generated by an auto-complete feature according toan embodiment of the invention.

FIG. 10 is an illustration of the search bar of FIG. 9 showing acompleted search clause and an in-place context menu for the selectionof an abbreviation of a search clause or an attribute.

FIG. 11 is an illustration of the search bar of FIG. 10 showing twocompleted search clauses including one which is depicted by anabbreviation.

FIG. 12 is an illustration of the search bar of FIG. 11 showing theaddition of a third completed search clause represented as anabbreviation.

DETAILED DESCRIPTION

In brief overview the present invention relates to a method forgenerating a parametric search statement to find a particular document(i.e., a “target” document) about which one or more characteristics orproperties are known. The method is implemented with a user interface todefine the search statement easily with parameters for powerfulfull-text searches. The parametric search statement is generated in thetext box of a search bar. A user seeking the target document performs auser action at a location in the text box such as entering text,executing a user interface function (e.g. a right mouse click), and thelike. An in-place context menu is displayed near the location in thetext box where the user action occurred. The menu is context basedbecause it provides menu items for selection based on what has alreadybeen entered in the search bar. Menu items can include documentattributes, comparison operators and values. Search clauses are acombination of an attribute, a comparison operator and a value tocomplete a logical parametric definition and can be displayed throughabbreviation as menu items. The most typical attributes, comparisonoperators, values and search clauses are listed first in theirrespective regions of the in-place menu so that users can select thesemenu items easier than less common menu items displayed lower in themenu. The user selects each menu item based on a characteristic orproperty of the target document. Display of in-place context menus andselection of menu items is repeated to build a parametric searchstatement having multiple parameters. Advantageously, parametric searchstatements are easily formed without the need to access numerous dialogsboxes or to enter significant text. Moreover, the user does not need tosort documents into folders to facilitate later searches.

FIG. 1 shows a flowchart of an embodiment of a method 100 for generatinga parametric search statement for finding a target document according tothe invention and is referred to below in conjunction with thedescriptions of FIG. 2 to FIG. 12 below. In the illustrated embodiment,the user is executing an email application. In other embodiments, theuser can execute other applications which access other types ofdocuments.

The method 100 includes performing (step 110) a user action at alocation in the text box of a search bar. FIG. 2 illustrates a searchbar 10 for an email client application. The search bar 10 includes atext box 14, a drop down button 18 and a search button 22. The text box14 enables a user to enter text to generate a search statement forfinding one or more email messages of interest to the user (i.e., targetdocuments). The drop down button 18 allows the user to recall recentsearches and the search button 22 is selected to initiate execution ofthe search defined by the search statement currently in the text box 14.The user action can be the execution of a user interface function (e.g.,a right button mouse click). Alternatively, the user action can be thetyping of one or more alphanumeric characters in the text box 14.Location, as used herein, means the screen position of a cursor or mousepointer inside the text box 14, or the current place 24 (e.g., cursorlocation) for entry of text in the text box 14.

As shown in FIG. 3, a preliminary in-place context menu 26 is displayed(step 120) near the location 24 of the user action in response to theuser action. The user chooses (step 130) one of the menu items 30A to30J (generally 30). The upper listed menu items 30A to 30E areabbreviations for complete search clauses. The lower listed menu items30F to 30J are attributes and represent only the first term in a searchclause. A double line 32 is used to distinguish the abbreviations 30A to30E for complete search clauses from the attributes 30F to 30J.

A complete search clause includes a document attribute combined with acomparison operator and a value. For example, “Has Attachment” 30C isthe abbreviation for the complete search clause “Attachment equals true”where “Attachment” is an attribute, “equals” is the comparison operatorand “true” is the value. Similarly, “Multiple Recipients” 30E is theabbreviation for the complete search clause “Number of recipients isgreater than one” where “Number of Recipients” is the attribute, “isgreater than” is the comparison operator and “one” is the value.Comparison operators can also have other forms such as does not equal,less than, before, after and the like. Values can be numerical values,logical values, character values and the like. The abbreviations assistthe user in quickly generating the search statement by including all theterms in the search clause with a single selection of a menu item 30.Other search clauses than those shown as abbreviations in theillustrated in-place context menu 26 are possible, such as whether thetarget document is larger than a predetermined number of bytes and whenthe target document was received. For example, receipt of an email canbe specified to have occurred in a predetermined time interval (e.g.,last month).

Choosing a menu item 30 is achieved by positioning a mouse pointer orcursor over the desired menu item 30 and clicking a mouse button,depressing a “hot key” or entering a defined key combination.Alternatively, choosing the menu item 30 is accomplished by typing thefirst few letters of the desired menu item 30 at the current text entrylocation 24. Although ten menu items 30 are shown, other numbers of menuitems 30 are possible. Scroll buttons 34 and a sliding scroll bar 38allow the user to view and select one of the menu items 30 in thepreliminary in-place context menu 26 that is not currently visible.

FIG. 4 shows the search bar 10 with a partial search clause 46 enteredbased on an attribute selected from the preliminary in-place contextmenu 26. The selected attribute is displayed as text inside arectangular border open on the right side to indicate that the searchclause 46 is incomplete because a comparison operator and a value arerequired. An in-place context menu 50 is displayed (step 140) near thecurrent text entry location 24 close to the attribute as shown inn FIG.5 either automatically or in response to a user action. The in-placecontext menu 50 lists comparison operators 52 appropriate for theattribute which can be added to build the search clause 46. In thisinstance the user can select “Contains” 52A to find documents authored(i.e., created) by an author. Alternatively, the user can select “Doesnot contain” 52B to eliminate any documents from the search that arecreated by a particular author. FIG. 6 illustrates the search bar 10with a revised search clause 46′ showing that the comparator term“Contains” has been selected (step 150). The border around the searchclause 46′ remains open at the right side and no shading is presentbecause a value remains to be added to complete the search clause 46′.

An in-place context menu 54 is then displayed (step 160) near thelocation of the comparison operator in the search clause 46′ as shown inFIG. 7 either automatically or according to a user action. The in-placecontext menu 54 shows values 56 appropriate for the preceding attributeand comparison operator. In the illustrated example the values 56include the names of authors. FIG. 8 shows the search bar 10 after theuser has selected (step 170) the author of the target email message. Thesearch phrase 46″ is now complete and therefore it is displayed in aclosed rectangular border with shading. In the illustrated example, thesecond search phrase 46″ results in a narrowing of the search to emailmessages created by Brian Black.

In an alternative embodiment shown in FIG. 9, the selection (step 170)of the value is initiated by typing text directly into the text box 14instead of selecting the value from an in-place context menu. Anauto-complete feature assists the user in entry of the desired name bydynamically revising a name list displayed in an in-place context menu58. For example, the auto-complete feature suggests names 60 in a menubased on one or more characters typed by the user and names defined inpersonal and/or corporate address book files maintained by the user. Asshown, the user has entered the letters “wil” and the in-place contextmenu 58 shows all the names in the user's address books for which thefirst three letters of the last name are “wil”. The user can scrollusing the scroll buttons 34 or the sliding scroll bar 38 to select oneof the displayed names. Alternatively, the user can continue to enterletters to narrow the number of names in the in-place context menu 58.For example, typing the letter “m” results in the automatic entry of thename “Peter Wilmot” as no other last names start with the four letters“wilm”. Entry of text using the auto-complete feature can be extended tothe entry of attributes and comparison operators. The auto-completefeature is particularly useful where the number of menu items otherwisepresented to a user is excessive.

After completion of the search clause 46″ as shown in FIG. 8, the usercan initiate a search by selecting the search button 22. Alternatively,the user can continue to build a search statement by performing anotheruser action (step 180) and adding additional search information in thetext box 14. FIG. 10 illustrates the search bar 10 with an in-placecontext menu 26 permitting the user to select (step 190) from the menuitems 30 to insert another search clause at the current text entryposition 24. FIG. 11 shows the text box 10 with a second search clause62 which was selected as the abbreviation “Has Been Received” 30B fromthe in-place context menu 26. In this instance the abbreviation 30Brepresents the attribute “Received”, the comparison operator “equals”and the logical value “true”.

FIG. 12 shows a search statement which includes the addition of anothersearch clause 66 to the search bar 10 of FIG. 11. The text “abc” wastyped directly into the text box 14 by the user. The display of “abc”inside a shaded rectangle indicates that the third search clause 66 iscomplete and represents “Text includes abc” where “Text” is theattribute, “includes” is the comparison operator and abc is the value ofthe text to be found. When the user clicks on the search button 22, thecompleted search statement results in a search for email messages thatwere received by the user and created by Brian Black. Each email messagethat is found includes the text “abc” at least once within the textportion of the message.

Although the above description is based on a limited example of ageneration of a parametric search statement, it should be recognizedthat the method can be applied to documents generally. For example, themethod 100 of FIG. 1 includes steps 110 to 170 for entering terms usedfor a single complete search clause and steps 180 to 190 for entering acomplete search clause by selection of an abbreviation. It should berecognized that in other embodiments of the method, the particular orderof the steps can be varied and groups of steps can be repeated so thatthe final search statement can includes search clauses created using oneor more abbreviations and/or one or more search clauses created byindividual entry of an attribute, a comparator operator and a value.

Although the above description is based on specific search parameters,it should be recognized that other parameters are possible. For example,attributes can include the date a document was created, the date thedocument was modified, the document type, the subject of the documentand generic field information. If a user action occurs at a locationafter a date attribute, the user can select operators such as “is on”,“is after”, “is before” and the like. If a user action occurs at alocation after a document type attribute, a list of subscribed documenttypes can be provided. If a user action occurs after a comparisonoperator associated with a date attribute, the user can select valuessuch as “today” or “yesterday”, or can select a date value from a pop-upcalendar.

While the invention has been shown and described with reference tospecific embodiments, it should be understood by those skilled in theart that various changes in form and detail may be made therein withoutdeparting from the spirit and scope of the invention.

1. A method for generating a parametric search statement for finding atarget document, the parametric search statement having at least onesearch clause, the method comprising; performing a first user action ata first location in a text box of a search bar; displaying in a computerdisplay a first in-place context menu having a plurality of menu itemsresponsive to the first user action at a location adjacent to the firstlocation in the text box, each menu item comprising; selecting one ofthe displayed menu items from the first in-place context menu based on aknown characteristic of the target document; generating a first partialsearch clause based on the selection of one of the menu items from thefirst in-place context menu; displaying the first partial search clauseat the first location in the text box of the search bar; performing asecond user action at a second location in the text box; displaying asecond in-place context menu having a plurality of menu items responsiveto the first partial search clause at a location adjacent to the secondlocation, each menu item comprising at least one of a comparisonoperator and a value; selecting one of the menu items from the secondin-place context menu based on the known characteristic of the targetdocument; generating a second partial search clause based on theselection of one of the menu items from the second in-place contextmenu; and displaying in the computer display a completed search clausecomprising the first partial search clause at the first location in thetext box and the second partial search clause at the second location inthe text box.
 2. The method of claim 1 wherein at least one of the firstand second user actions comprises entering text contained in the targetdocument into the text box of the search bar.
 3. The method of claim 1wherein at least one of the first and second user actions comprisesperforming a user interface function.
 4. The method of claim 1 whereinthe user action comprises selecting a menu item from the first in-placecontext menu.
 5. The method of claim 1 wherein the target document isone of an email message, a word processing document and a portabledocument format (pdf) document.
 6. The method of claim 1 furthercomprising revising one of the first and second in-place context menusin response to characters entered in the text box by a user.